package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 勘测甲方用电情况记录对象 erp_survey_electric_info
 *
 * @author wutao
 * @date 2024-05-22
 */
@TableName ( "erp_survey_electric_info" )
@ApiModel ( value = "erp_survey_electric_info对象", description = "勘测甲方用电情况记录" )
@Data
public class SurveyElectricEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId ( value = "id", type = IdType.INPUT )
    private String id;

    /**
     * 勘测数据采集Id
     */
    @ApiModelProperty ( "勘测数据采集Id" )
    @TableField ( "survey_base_data_id" )
    @Excel ( name = "勘测数据采集Id" )
    private String surveyBaseDataId;

    /**
     * 一月用电数量
     */
    @ApiModelProperty ( "一月用电数量" )
    @TableField ( "january_number" )
    @Excel ( name = "一月用电数量" )
    private String januaryNumber;

    /**
     * 二月用电数量
     */
    @ApiModelProperty ( "二月用电数量" )
    @TableField ( "february_number" )
    @Excel ( name = "二月用电数量" )
    private String februaryNumber;

    /**
     * 三月用电数量
     */
    @ApiModelProperty ( "三月用电数量" )
    @TableField ( "march_number" )
    @Excel ( name = "三月用电数量" )
    private String marchNumber;

    /**
     * 四月用电数量
     */
    @ApiModelProperty ( "四月用电数量" )
    @TableField ( "april_number" )
    @Excel ( name = "四月用电数量" )
    private String aprilNumber;

    /**
     * 五月用电数量
     */
    @ApiModelProperty ( "五月用电数量" )
    @TableField ( "may_number" )
    @Excel ( name = "五月用电数量" )
    private String mayNumber;

    /**
     * 六月用电数量
     */
    @ApiModelProperty ( "六月用电数量" )
    @TableField ( "june_number" )
    @Excel ( name = "六月用电数量" )
    private String juneNumber;

    /**
     * 七月用电数量
     */
    @ApiModelProperty ( "七月用电数量" )
    @TableField ( "july_number" )
    @Excel ( name = "七月用电数量" )
    private String julyNumber;

    /**
     * 八月用电数量
     */
    @ApiModelProperty ( "八月用电数量" )
    @TableField ( "august_number" )
    @Excel ( name = "八月用电数量" )
    private String augustNumber;

    /**
     * 九月用电数量
     */
    @ApiModelProperty ( "九月用电数量" )
    @TableField ( "sep_number" )
    @Excel ( name = "九月用电数量" )
    private String sepNumber;

    /**
     * 十月用电数量
     */
    @ApiModelProperty ( "十月用电数量" )
    @TableField ( "oct_number" )
    @Excel ( name = "十月用电数量" )
    private String octNumber;

    /**
     * 十一月用电数量
     */
    @ApiModelProperty ( "十一月用电数量" )
    @TableField ( "nov_number" )
    @Excel ( name = "十一月用电数量" )
    private String novNumber;

    /**
     * 十二月用电数量
     */
    @ApiModelProperty ( "十二月用电数量" )
    @TableField ( "dec_number" )
    @Excel ( name = "十二月用电数量" )
    private String decNumber;

    /**
     * 在用变压器数量
     */
    @ApiModelProperty ( "在用变压器数量" )
    @TableField ( "transformer_number" )
    @Excel ( name = "在用变压器数量" )
    private Integer transformerNumber;

    /**
     * 预计电费折扣
     */
    @ApiModelProperty ( "预计电费折扣" )
    @TableField ( "plan_discount" )
    @Excel ( name = "预计电费折扣" )
    private String planDiscount;

    /**
     * 光伏发电期间电价
     */
    @ApiModelProperty ( "光伏发电期间电价" )
    @TableField ( "pv_ele_price" )
    @Excel ( name = "光伏发电期间电价" )
    private String pvElePrice;

    /**
     * 上网电价
     */
    @ApiModelProperty ( "上网电价" )
    @TableField ( "grid_ele_price" )
    @Excel ( name = "上网电价" )
    private String gridElePrice;

    /**
     * 加权电价
     */
    @ApiModelProperty ( "加权电价" )
    @TableField ( "weight_ele_price" )
    @Excel ( name = "加权电价" )
    private String weightElePrice;

    /**
     * 在用变压器容量,kVA
     */
    @ApiModelProperty ( "在用变压器容量,kVA" )
    @TableField ( "transformer_capacity" )
    @Excel ( name = "在用变压器容量,kVA" )
    private String transformerCapacity;

    /**
     * 日照小时数，小时/年
     */
    @ApiModelProperty ( "日照小时数，小时/年" )
    @TableField ( "sunshine_time" )
    @Excel ( name = "日照小时数，小时/年" )
    private String sunshineTime;

    /**
     * 尖时间段
     */
    @ApiModelProperty ( "尖时间段" )
    @TableField ( "tip_period" )
    @Excel ( name = "尖时间段" )
    private String tipPeriod;

    /**
     * 峰时间段
     */
    @ApiModelProperty ( "峰时间段" )
    @TableField ( "peak_period" )
    @Excel ( name = "峰时间段" )
    private String peakPeriod;

    /**
     * 平时间段
     */
    @ApiModelProperty ( "平时间段" )
    @TableField ( "flat_period" )
    @Excel ( name = "平时间段" )
    private String flatPeriod;

    /**
     * 谷时间段
     */
    @ApiModelProperty ( "谷时间段" )
    @TableField ( "valley_period" )
    @Excel ( name = "谷时间段" )
    private String valleyPeriod;

    /**
     * 生产的产品及设备
     */
    @ApiModelProperty ( "生产的产品及设备" )
    @TableField ( "pro_device" )
    @Excel ( name = "生产的产品及设备" )
    private String proDevice;

    /**
     * 工作时间，文本描述，考虑是否周末可施工
     */
    @ApiModelProperty ( "工作时间，文本描述，考虑是否周末可施工" )
    @TableField ( "work_time" )
    @Excel ( name = "工作时间，文本描述，考虑是否周末可施工" )
    private String workTime;

    /**
     * 上下班时间
     */
    @ApiModelProperty ( "上下班时间" )
    @TableField ( "commuting_time" )
    @Excel ( name = "上下班时间" )
    private String commutingTime;

    /**
     * 白班平均负荷
     */
    @ApiModelProperty ( "白班平均负荷" )
    @TableField ( "day_avg_load" )
    @Excel ( name = "白班平均负荷" )
    private String dayAvgLoad;

    /**
     * 午休平均负荷
     */
    @ApiModelProperty ( "午休平均负荷" )
    @TableField ( "noon_avg_load" )
    @Excel ( name = "午休平均负荷" )
    private String noonAvgLoad;

    /**
     * 晚班平均负荷
     */
    @ApiModelProperty ( "晚班平均负荷" )
    @TableField ( "night_avg_load" )
    @Excel ( name = "晚班平均负荷" )
    private String nightAvgLoad;

    /**
     * 春节放假情况说明
     */
    @ApiModelProperty ( "春节放假情况说明" )
    @TableField ( "holiday_info" )
    @Excel ( name = "春节放假情况说明" )
    private String holidayInfo;

    /**
     * 放假是否报停变压器;1：是;2：否
     */
    @ApiModelProperty ( "放假是否报停变压器;1：是;2：否" )
    @TableField ( "is_holiday_stop" )
    @Excel ( name = "放假是否报停变压器;1：是;2：否" )
    private Integer isHolidayStop;

    /**
     * 配电室是否有预留空间，可否容下并网柜（380V)
     */
    @TableField ( "is_space" )
    @ApiModelProperty ( "配电室是否有预留空间，可否容下并网柜" )
    @Excel ( name = "配电室是否有预留空间，可否容下并网柜", readConverterExp = "配电室是否有预留空间，可否容下并网柜（380V)" )
    private Integer isSpace;

    /**
     * 可摆放并网柜数量
     */
    @ApiModelProperty ( "可摆放并网柜数量" )
    @TableField ( "grid_cabinet_number" )
    @Excel ( name = "可摆放并网柜数量" )
    private Integer gridCabinetNumber;

    /**
     * 申请人Id，登录用户Id
     */
    @ApiModelProperty ( "申请人Id，登录用户Id" )
    @TableField ( "user_id" )
    @Excel ( name = "申请人Id，登录用户Id" )
    private String userId;

    /**
     * 更新时间
     */
    @ApiModelProperty ( "更新时间" )
    @TableField ( "change_time" )
    @JsonFormat ( pattern = "yyyy-MM-dd" )
    @Excel ( name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd" )
    private Date changeTime;

    /**
     * $column.columnComment
     */
    @ApiModelProperty ( "更新时间" )
    @TableField ( "is_used" )
    @Excel ( name = "更新时间" )
    private Integer isUsed;

    @Override
    public String toString () {
        return new ToStringBuilder ( this, ToStringStyle.MULTI_LINE_STYLE )
                .append ( "id", getId () )
                .append ( "surveyDataCollectId", getSurveyBaseDataId () )
                .append ( "januaryNumber", getJanuaryNumber () )
                .append ( "februaryNumber", getFebruaryNumber () )
                .append ( "marchNumber", getMarchNumber () )
                .append ( "aprilNumber", getAprilNumber () )
                .append ( "mayNumber", getMayNumber () )
                .append ( "juneNumber", getJuneNumber () )
                .append ( "julyNumber", getJulyNumber () )
                .append ( "augustNumber", getAugustNumber () )
                .append ( "sepNumber", getSepNumber () )
                .append ( "octNumber", getOctNumber () )
                .append ( "novNumber", getNovNumber () )
                .append ( "decNumber", getDecNumber () )
                .append ( "transformerNumber", getTransformerNumber () )
                .append ( "planDiscount", getPlanDiscount () )
                .append ( "pvElePrice", getPvElePrice () )
                .append ( "gridElePrice", getGridElePrice () )
                .append ( "weightElePrice", getWeightElePrice () )
                .append ( "transformerCapacity", getTransformerCapacity () )
                .append ( "sunshineTime", getSunshineTime () )
                .append ( "tipPeriod", getTipPeriod () )
                .append ( "peakPeriod", getPeakPeriod () )
                .append ( "flatPeriod", getFlatPeriod () )
                .append ( "valleyPeriod", getValleyPeriod () )
                .append ( "proDevice", getProDevice () )
                .append ( "workTime", getWorkTime () )
                .append ( "commutingTime", getCommutingTime () )
                .append ( "dayAvgLoad", getDayAvgLoad () )
                .append ( "noonAvgLoad", getNoonAvgLoad () )
                .append ( "nightAvgLoad", getNightAvgLoad () )
                .append ( "holidayInfo", getHolidayInfo () )
                .append ( "isHolidayStop", getIsHolidayStop () )
                .append ( "isSpace", getIsSpace () )
                .append ( "gridCabinetNumber", getGridCabinetNumber () )
                .append ( "userId", getUserId () )
                .append ( "createTime", getCreateTime () )
                .append ( "changeTime", getChangeTime () )
                .append ( "isUsed", getIsUsed () )
                .toString ();
    }
}
